using AutoMapper.Internal.Mappers;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using ThridGroup.ERP.DTO.ProductionSystemDto.ProductionMaterialReturnDto;
using Volo.Abp.Application.Services;

namespace ThridGroup.ERP.ProductionSystem
{
    /// <summary>
    /// 生产退料服务接口
    /// </summary>
    public interface IProductionMaterialReturnServices : IApplicationService
    {
        /// <summary>
        /// 添加生产退料信息
        /// </summary>
        /// <returns></returns>
        Task<int> CreateProductionMaterialReturn(CreateProductionMaterialReturnDto createProductionMaterialReturnDto);

        /// <summary>
        /// 显示生产退料信息
        /// </summary>
        /// <returns></returns>
        Task<List<CreateProductionMaterialReturnDto>> QueryProductionMaterialReturn(GetProductionMaterialReturnDto getProductionMaterialReturnDto);

        /// <summary>
        /// 修改生产退料信息
        /// </summary>
        /// <param name="dto">生产退料DTO</param>
        /// <returns>1成功，0失败</returns>
        Task<int> UpdateProductionMaterialReturn(UpdateProductionMaterialReturnDto dto);

        /// <summary>
        /// 批量删除生产退料信息
        /// </summary>
        /// <param name="ids">要删除的生产退料ID列表</param>
        Task BatchDeleteProductionMaterialReturn(List<int> ids);
        /// <summary>
        /// 根据ID获取生产退料单详情
        /// </summary>
      Task<CreateProductionMaterialReturnDto> GetProductionMaterialReturnById(int id);
        /// <summary>
        /// 修改退料状态
        /// </summary>
         Task<int> UpProductionMaterialReturnById(int id);
        
    }
} 